1. Field of the Invention
The present invention is related to video coding systems, in particular, the present invention relates to an advanced data partition scheme using an improved cyclic resynchronization marker that enables error tolerate video decoding. The invention has particular utility in connection with variable-bandwidth networks and computer systems that are able to accommodate different bit rates, and hence different quality images.
2. Description of the Related Art
Scalable video coding in general refers to coding techniques that are able to provide different levels, or amounts, of data per frame of video. Currently, such techniques are used by video coding standards, such as MPEG-1 MPEG-2 and MPEG-4 (i.e., Motion Picture Experts Group), in order to provide flexibility when outputting coded video data. While MPEG-1 and MPEG-2 video compression techniques are restricted to rectangular pictures from natural video, the scope of MPEG-4 visual is much wider. MPEG-4 visual allows both natural and synthetic video to be coded and provides content based access to individual objects in a scene.
A typical video packet structure in MPEG-4 error resilient mode is shown in FIG. 1. It is noted that the video packet (VP) contains information of several macroblocks, and a selectable packet size determines the number of macroblocks to be included in a single packet. As shown in FIG. 1, the MPEG-4 video packet structure includes a RESYNC marker, a quantization paramerter (QP), a header extension code (HEC), a macroblock (MB) number, motion and header information, a motion marker (MM) and texture information. The MB number provides the necessary spatial resynchronization while the quantization parameter allows the differential decoding process to be resynchronized.
The motion and header information field includes information of motion vectors (MV) DCT DC coefficients, and other header information such a macroblock types. The remaining DCT AC coefficients are coded in the texture information field. The motion marker separates the DC and AC DCT coefficients.
The MPEG-4 video standard provides error robustness and resilience to allow accessing image or video information over a wide range of storage and transmission media. The error resilience tools developed for the MPEG-4 video standard can be divided into three major areas: resynchronization, data recovery, and error concealment.
The resynchronization tools attempt to enable resynchronization between a decoder and a bitstream after a residual error or errors have been detected. Generally, the data between the synchronization point prior to the error and the first point where synchronization is reestablished, is discarded. If the resynchronization approach is effective at localizing the amount of data discarded by the decoder, then the ability of other types of tools that recover data and/or conceal the effects of errors is greatly enhanced.
The current video packet approach used by MPEG-4 is based on providing periodic resynchronization markers throughout the bitstream. These resynchronization markers are designed such that they can be easily distinguished from all other codewords and small perturbation of these codewords. Header information (regarding the spatial and temporal locations or other in-picture predictive information concerning the subsequent bits) is attached immediately after the resynchronization information. This way, the decoder can resume proper decoding upon the detection of a resynchronization marker. However, it is noted that insertion of the resynchronization markers reduce the coding efficiency. That is, the longer and more frequent are such markers, the more bits will be used for them, which increases the coding overhead. But longer and frequently inserted markers enable the decoder to regain synchronization more quickly, so that a transmission error affects a smaller region in the reconstructed frame.
As discussed above, in MPEG-4, the resynchronization (RESYNC) marker is used to distinguish the start of a new video packet. This marker is distinguishable from all possible VLC codewords as well as the VOP start code. In the MPEG-4 video packet structure, the RESYNC marker is defined as binary number having 16-22 zeros (“0”) followed by a one (“1”). It is noted that header information is also provided at the start of a video packet. Contained in this header information is the data necessary to restart the decoding process.
After synchronization has been reestablished, data recovery tools attempt to recover data that in general would be lost. These tools are not simply error correcting codes, but instead techniques that encode the data in an error resilient manner. For example, one particular tool is Reversible Variable Length Codes (RVLC). In this approach, the variable length codewords are designed such that they can be read both in the forward as well as the reverse direction.
However, there exists a need for a video coding technique that incorporates improved data partitioning for more error tolerate decoding.